package ysq.xyg.web.service;

import ysq.xyg.base.model.dto.ReturnEntity;
import ysq.xyg.base.service.BaseService;
import ysq.xyg.sys.model.po.SysUser;
import ysq.xyg.web.model.dto.WebAppMenuDto;
import ysq.xyg.web.model.po.WebAppMenu;
import ysq.xyg.web.model.vo.WebAppMenuVo;

import java.util.List;

/**
 * 业务模块-APP菜单-业务模块-APP菜单service接口
 *
 * @author congcong tao
 * @date 2019-10-29 10:20:29
 */
public interface WebAppMenuService extends BaseService<WebAppMenu> {

    /**
     * 分页查询
     *
     * @param webAppMenuVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-10-29 10:20:29
     */
    ReturnEntity page(WebAppMenuVo webAppMenuVo, int pageSize, int pageNum);

    /**
     * 修改
     *
     * @param webAppMenuVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-10-29 10:20:29
     */
    ReturnEntity addOrUpdate(WebAppMenuVo webAppMenuVo, SysUser currentUser);

    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-10-29 10:20:29
     */
    ReturnEntity delete(String id, SysUser currentUser);

    /**
     * 获取集合
     *
     * @param webAppMenuVo 对象
     * @return List<WebAppMenu> WebAppMenu集合
     * @author congcong tao
     * @date 2019-10-29 10:20:29
     */
    List<WebAppMenu> acceptList(WebAppMenuVo webAppMenuVo);

    List<WebAppMenuDto> selectEntityList(WebAppMenuVo webAppMenuVo);
}
